package com.easymall.dao;

import com.easymall.domain.Prod;

import java.sql.SQLException;
import java.util.List;

public interface ProdDao {
    /**
     * 初始化生命周期函数
     */
    void init();

    /**
     * 添加商品
     * @param prod Prod对象
     * @return true-写入数据库成功  false-写入数据库失败
     * @throws SQLException 数据库操作失败
     */
    boolean saveProd(Prod prod) throws SQLException;

    /**
     * 删除商品
     * @param pid 商品id
     * @return  true-写入数据库成功  false-写入数据库失败
     * @throws SQLException 数据库操作失败
     */
    boolean deleteProd(int pid)throws SQLException;

    /**
     * 更新商品数据
     * @param prod Prod对象
     * @return true-写入数据库成功  false-写入数据库失败
     * @throws SQLException 数据库操作失败
     */
    boolean updateProd(Prod prod) throws SQLException;

    /**
     * 获取商品id对应的Prod对象
     * @param pid 商品id
     * @return Prod对象
     * @throws SQLException 数据库操作失败
     */
    Prod getProdById(int pid)throws SQLException;

    /**
     * 获取所有商品对象
     * @return 返回包含所有Prod对象的列表
     * @throws SQLException 数据库操作失败
     */
    List<Prod> listProdAll() throws SQLException;
}
